/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Ingresos;
import Controladores.AsignacionperiodoaulaJpaController;
import Controladores.HorarioaulaJpaController;
import Controladores.PeriodoJpaController;
import Controladores.exceptions.NonexistentEntityException;
import Entidades.Asignacionperiodoaula;
import Usuarios.conexion;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Query;

/**
 *
 * @author Victor Jose Betancohurt Hoffens
 */
public class IAsignacionPeriodoAula {
    public void IAsignacionPeriodoAula(){
    }
    
    public void guardar(int idHorarioAula, int idPeriodo)
    {
        EntityManagerFactory emf = conexion.getInstancia().getEMF();
        Asignacionperiodoaula asignacionPA = new Asignacionperiodoaula();
        AsignacionperiodoaulaJpaController controlador = new AsignacionperiodoaulaJpaController(emf);
        asignacionPA.setDisponible(false);
        HorarioaulaJpaController controladorHorario = new HorarioaulaJpaController(emf);
        PeriodoJpaController controladorPeriodo = new PeriodoJpaController(emf);
        asignacionPA.setHorarioAulaidHorarioAula(controladorHorario.findHorarioaula(idHorarioAula));
        asignacionPA.setPeriodoidPeriodo(controladorPeriodo.findPeriodo(idPeriodo));
        controlador.create(asignacionPA);        
    }
    public void modificar(Asignacionperiodoaula asignacionPA)
    {
        EntityManagerFactory emf = conexion.getInstancia().getEMF();
        AsignacionperiodoaulaJpaController controlador = new AsignacionperiodoaulaJpaController(emf);
        try {
            controlador.edit(asignacionPA);
        } catch (NonexistentEntityException ex) {
            Logger.getLogger(IAsignacionPeriodoAula.class.getName()).log(Level.SEVERE, null, ex);
        } catch (Exception ex) {
            Logger.getLogger(IAsignacionPeriodoAula.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
    public Asignacionperiodoaula buscarId(int id)
    {
        EntityManagerFactory emf = conexion.getInstancia().getEMF();
        AsignacionperiodoaulaJpaController controlador = new AsignacionperiodoaulaJpaController(emf);
        return controlador.findAsignacionperiodoaula(id);
    }
    public List<Asignacionperiodoaula> mostrarTodo()
    {
        EntityManagerFactory emf = conexion.getInstancia().getEMF();
        AsignacionperiodoaulaJpaController controlador = new AsignacionperiodoaulaJpaController(emf);
        return controlador.findAsignacionperiodoaulaEntities();
    }
    public List<Asignacionperiodoaula> mostrarTodoTrue()
    {
        EntityManagerFactory emf = conexion.getInstancia().getEMF();
        EntityManager em = emf.createEntityManager();
        Query qr;
        qr = em.createNamedQuery("Asignacionperiodoaula.findByDisponible");
        qr.setParameter("disponible", true);
        List<Asignacionperiodoaula> lista = qr.getResultList();
        return lista;
    }
    
    public List<Asignacionperiodoaula> mostrarTodoFalse()
    {
        EntityManagerFactory emf = conexion.getInstancia().getEMF();
        EntityManager em = emf.createEntityManager();
        Query qr;
        qr = em.createNamedQuery("Asignacionperiodoaula.findByDisponible");
        qr.setParameter("disponible", false);
        List<Asignacionperiodoaula> lista = qr.getResultList();
        return lista;
    }
}
